package com.passive.lock.utils.tree;

import java.util.ArrayList;
import java.util.List;
import com.passive.lock.model.vo.TRegionVo;
import com.passive.lock.model.vo.TRegionVo;

public class TreeRegionUtil {
	/**
	    * @Title: getfatherNode
	    * @Description 方法描述: 父节点
	    * @param 设定文件： @param treeDataList
	    * @param 设定文件： @return    
	    * @return 返回类型：List<TRegionVo>    
	    * @throws
	    * @date 最后修改时间：2015年6月9日 下午6:39:26
	    */
	    public final static List<TRegionVo> getfatherNode(List<TRegionVo> treeDataList) {
	        List<TRegionVo> newTreeDataList = new ArrayList<TRegionVo>();
	        for (TRegionVo TRegionVo : treeDataList) {
	            if(TRegionVo.getParentid() == 0) {
	                //获取父节点下的子节点
	                TRegionVo.setChildren(getChildrenNode(TRegionVo.getId(),treeDataList));
	                //TRegionVo.setOpen(true);
	                newTreeDataList.add(TRegionVo);
	            }
	        }
	        return newTreeDataList;
	    }
	     
	    /**
	    * @Title: getChildrenNode
	    * @Description 方法描述: 子节点
	    * @param 设定文件： @param pid
	    * @param 设定文件： @param treeDataList
	    * @param 设定文件： @return    
	    * @return 返回类型：List<TRegionVo>    
	    * @throws
	    * @date 最后修改时间：2015年6月9日 下午6:39:50
	    */
	    private final static List<TRegionVo> getChildrenNode(Integer pid , List<TRegionVo> treeDataList) {
	        List<TRegionVo> newTreeDataList = new ArrayList<TRegionVo>();
	        for (TRegionVo TRegionVo : treeDataList) {
	            if(TRegionVo.getParentid() == null||"".equals(TRegionVo.getParentid()))  continue;
	            //这是一个子节点
	            if(TRegionVo.getParentid().equals(pid)){
	                //递归获取子节点下的子节点
	                TRegionVo.setChildren(getChildrenNode(TRegionVo.getId() , treeDataList));
	                newTreeDataList.add(TRegionVo);
	            }
	        }
	        return newTreeDataList;
	    }
	    
	  
	
}
